<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::core::plane3d&lt; T &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1core_1_1plane3d.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">irr::core::plane3d&lt; T &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::core::plane3d" -->
<p>Template plane class with some intersection testing methods.  
 <a href="classirr_1_1core_1_1plane3d.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="plane3d_8h_source.html">plane3d.h</a>&gt;</code></p>

<p><a href="classirr_1_1core_1_1plane3d-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classirr_1_1core_1_1plane3d.html#a56ab7a294a2ae8570c719321ae356d27">plane3d</a> ()
<li><a class="el" href="classirr_1_1core_1_1plane3d.html#a83ddb90b9dd873dbd5ec1d1ae3d1eec2">plane3d</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;MPoint, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;<a class="el" href="classirr_1_1core_1_1plane3d.html#a932ca6e90e55cdceedb4f15ab706b719">Normal</a>)
<li><a class="el" href="classirr_1_1core_1_1plane3d.html#af754b386af5b0296a47d97f1c9e39d55">plane3d</a> (T px, T py, T pz, T nx, T ny, T nz)
<li><a class="el" href="classirr_1_1core_1_1plane3d.html#a79aa2659564f880e71db761516d91b9e">plane3d</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point1, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point2, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point3)
<li><a class="el" href="classirr_1_1core_1_1plane3d.html#a3f3171c926e019c47e56e2eb0ba9a9bf">plane3d</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;normal, const T d)
<li><a class="el" href="namespaceirr_1_1core.html#a8a9999eb0d151083f48afe5f7d17a96c">EIntersectionRelation3D</a> <a class="el" href="classirr_1_1core_1_1plane3d.html#a0ef82b15cefb92fc8a1a93f2465c95cb">classifyPointRelation</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point) const 
<dl class="el"><dd class="mdescRight">Classifies the relation of a point to this plane.  <a href="#a0ef82b15cefb92fc8a1a93f2465c95cb"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#aa238ddaac4eb9d2781ccac678d594a78">existsIntersection</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;other) const 
<dl class="el"><dd class="mdescRight">Tests if there is an intersection with the other plane.  <a href="#aa238ddaac4eb9d2781ccac678d594a78"></a><br/></dl><li>T <a class="el" href="classirr_1_1core_1_1plane3d.html#a1877d6c25a437f2f00a664a1ac3d247f">getDistanceTo</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point) const 
<dl class="el"><dd class="mdescRight">Get the distance to a point.  <a href="#a1877d6c25a437f2f00a664a1ac3d247f"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a9da6378730742e46bd1e73624b048641">getIntersectionWithLimitedLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint1, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint2, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outIntersection) const 
<dl class="el"><dd class="mdescRight">Get an intersection with a 3d line, limited between two 3d points.  <a href="#a9da6378730742e46bd1e73624b048641"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a81c6fd667e7018805f9fb388721e2f30">getIntersectionWithLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;lineVect, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outIntersection) const 
<dl class="el"><dd class="mdescRight">Get an intersection with a 3d line.  <a href="#a81c6fd667e7018805f9fb388721e2f30"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a8c611fd6346a361bbf34eb0e4fbd3fe0">getIntersectionWithPlane</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;other, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outLinePoint, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outLineVect) const 
<dl class="el"><dd class="mdescRight">Intersects this plane with another.  <a href="#a8c611fd6346a361bbf34eb0e4fbd3fe0"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a42591d9bdd8dd03bb6b14836b6e5af7b">getIntersectionWithPlanes</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;o1, const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;o2, <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;outPoint) const 
<dl class="el"><dd class="mdescRight">Get the intersection point with two other planes if there is one.  <a href="#a42591d9bdd8dd03bb6b14836b6e5af7b"></a><br/></dl><li><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> <a class="el" href="classirr_1_1core_1_1plane3d.html#a572803fab72c142ad186b364da3193cb">getKnownIntersectionWithLine</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint1, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;linePoint2) const 
<dl class="el"><dd class="mdescRight">Get percentage of line between two points where an intersection with this plane happens.  <a href="#a572803fab72c142ad186b364da3193cb"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1plane3d.html#ae95084f1f1d942d2416aeaef247882fd">getMemberPoint</a> () const 
<dl class="el"><dd class="mdescRight">Gets a member point of the plane.  <a href="#ae95084f1f1d942d2416aeaef247882fd"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a5b769b842600d377415d594f0db09a3e">isFrontFacing</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;lookDirection) const 
<dl class="el"><dd class="mdescRight">Test if the triangle would be front or backfacing from any point.  <a href="#a5b769b842600d377415d594f0db09a3e"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a1ef3ad54e652a02f3ea8c97884332f06">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;other) const 
<li>bool <a class="el" href="classirr_1_1core_1_1plane3d.html#a4ea013907b2e44c91cc9defacb7a8d53">operator==</a> (const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;other) const 
<li>void <a class="el" href="classirr_1_1core_1_1plane3d.html#a65c1748d516ddc820b6b970f9367f1ff">recalculateD</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;MPoint)
<dl class="el"><dd class="mdescRight">Recalculates the distance from origin by applying a new member point to the plane.  <a href="#a65c1748d516ddc820b6b970f9367f1ff"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1plane3d.html#a74c75911a10cc048c546ca5ea3646232">setPlane</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;nvector)
<li>void <a class="el" href="classirr_1_1core_1_1plane3d.html#a1f68018de37d6bc904c33192816b899b">setPlane</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;nvect, T d)
<li>void <a class="el" href="classirr_1_1core_1_1plane3d.html#a32ca1fd89b65630b4d77641005ffa94d">setPlane</a> (const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point1, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point2, const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;point3)
</ul>
<h2><a name="pub-attribs"></a>
Public Attributes</h2>
<ul>
<li>T <a class="el" href="classirr_1_1core_1_1plane3d.html#afa304cf77cf1a3aae2351d5add5606a8">D</a>
<dl class="el"><dd class="mdescRight">Distance from origin.  <a href="#afa304cf77cf1a3aae2351d5add5606a8"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; <a class="el" href="classirr_1_1core_1_1plane3d.html#a932ca6e90e55cdceedb4f15ab706b719">Normal</a>
<dl class="el"><dd class="mdescRight">Normal vector of the plane.  <a href="#a932ca6e90e55cdceedb4f15ab706b719"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;class T&gt;<br/>
class irr::core::plane3d&lt; T &gt;</h3>

<p>Template plane class with some intersection testing methods. </p>
<p>It has to be ensured, that the normal is always normalized. The constructors and setters of this class will not ensure this automatically. So any normal passed in has to be normalized in advance. No change to the normal will be made by any of the class methods. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00033">33</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a56ab7a294a2ae8570c719321ae356d27"></a><!-- doxytag: member="irr::core::plane3d::plane3d" ref="a56ab7a294a2ae8570c719321ae356d27" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00039">39</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a83ddb90b9dd873dbd5ec1d1ae3d1eec2"></a><!-- doxytag: member="irr::core::plane3d::plane3d" ref="a83ddb90b9dd873dbd5ec1d1ae3d1eec2" args="(const vector3d&lt; T &gt; &amp;MPoint, const vector3d&lt; T &gt; &amp;Normal)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>MPoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>Normal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00041">41</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="af754b386af5b0296a47d97f1c9e39d55"></a><!-- doxytag: member="irr::core::plane3d::plane3d" ref="af754b386af5b0296a47d97f1c9e39d55" args="(T px, T py, T pz, T nx, T ny, T nz)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a> </td>
          <td>(</td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>px</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>py</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>pz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>nx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>ny</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>nz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00043">43</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a79aa2659564f880e71db761516d91b9e"></a><!-- doxytag: member="irr::core::plane3d::plane3d" ref="a79aa2659564f880e71db761516d91b9e" args="(const vector3d&lt; T &gt; &amp;point1, const vector3d&lt; T &gt; &amp;point2, const vector3d&lt; T &gt; &amp;point3)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00045">45</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a3f3171c926e019c47e56e2eb0ba9a9bf"></a><!-- doxytag: member="irr::core::plane3d::plane3d" ref="a3f3171c926e019c47e56e2eb0ba9a9bf" args="(const vector3d&lt; T &gt; &amp;normal, const T d)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>normal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const T&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00048">48</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0ef82b15cefb92fc8a1a93f2465c95cb"></a><!-- doxytag: member="irr::core::plane3d::classifyPointRelation" ref="a0ef82b15cefb92fc8a1a93f2465c95cb" args="(const vector3d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceirr_1_1core.html#a8a9999eb0d151083f48afe5f7d17a96c">EIntersectionRelation3D</a> <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::classifyPointRelation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Classifies the relation of a point to this plane. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">point</td><td>Point to classify its relation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>ISREL3D_FRONT if the point is in front of the plane, ISREL3D_BACK if the point is behind of the plane, and ISREL3D_PLANAR if the point is within the plane. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00135">135</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa238ddaac4eb9d2781ccac678d594a78"></a><!-- doxytag: member="irr::core::plane3d::existsIntersection" ref="aa238ddaac4eb9d2781ccac678d594a78" args="(const plane3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::existsIntersection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Tests if there is an intersection with the other plane. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there is a intersection. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00162">162</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1877d6c25a437f2f00a664a1ac3d247f"></a><!-- doxytag: member="irr::core::plane3d::getDistanceTo" ref="a1877d6c25a437f2f00a664a1ac3d247f" args="(const vector3d&lt; T &gt; &amp;point) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getDistanceTo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the distance to a point. </p>
<p>Note that this only works if the normal is normalized. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00222">222</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9da6378730742e46bd1e73624b048641"></a><!-- doxytag: member="irr::core::plane3d::getIntersectionWithLimitedLine" ref="a9da6378730742e46bd1e73624b048641" args="(const vector3d&lt; T &gt; &amp;linePoint1, const vector3d&lt; T &gt; &amp;linePoint2, vector3d&lt; T &gt; &amp;outIntersection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getIntersectionWithLimitedLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIntersection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get an intersection with a 3d line, limited between two 3d points. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">linePoint1</td><td>Point 1 of the line. </td></tr>
    <tr><td class="paramname">linePoint2</td><td>Point 2 of the line. </td></tr>
    <tr><td class="paramname">outIntersection</td><td>Place to store the intersection point, if there is one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was an intersection, false if there was not. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00121">121</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a81c6fd667e7018805f9fb388721e2f30"></a><!-- doxytag: member="irr::core::plane3d::getIntersectionWithLine" ref="a81c6fd667e7018805f9fb388721e2f30" args="(const vector3d&lt; T &gt; &amp;linePoint, const vector3d&lt; T &gt; &amp;lineVect, vector3d&lt; T &gt; &amp;outIntersection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getIntersectionWithLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>lineVect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outIntersection</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get an intersection with a 3d line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lineVect</td><td>Vector of the line to intersect with. </td></tr>
    <tr><td class="paramname">linePoint</td><td>Point of the line to intersect with. </td></tr>
    <tr><td class="paramname">outIntersection</td><td>Place to store the intersection point, if there is one. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there was an intersection, false if there was not. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00086">86</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="plane3d_8h_source.html#l00121">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithLimitedLine()</a>, and <a class="el" href="plane3d_8h_source.html#l00195">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithPlanes()</a>.</p>

</div>
</div>
<a class="anchor" id="a8c611fd6346a361bbf34eb0e4fbd3fe0"></a><!-- doxytag: member="irr::core::plane3d::getIntersectionWithPlane" ref="a8c611fd6346a361bbf34eb0e4fbd3fe0" args="(const plane3d&lt; T &gt; &amp;other, vector3d&lt; T &gt; &amp;outLinePoint, vector3d&lt; T &gt; &amp;outLineVect) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getIntersectionWithPlane </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outLinePoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outLineVect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Intersects this plane with another. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>Other plane to intersect with. </td></tr>
    <tr><td class="paramname">outLinePoint</td><td>Base point of intersection line. </td></tr>
    <tr><td class="paramname">outLineVect</td><td>Vector of intersection. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if there is a intersection, false if not. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00173">173</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="plane3d_8h_source.html#l00195">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithPlanes()</a>.</p>

</div>
</div>
<a class="anchor" id="a42591d9bdd8dd03bb6b14836b6e5af7b"></a><!-- doxytag: member="irr::core::plane3d::getIntersectionWithPlanes" ref="a42591d9bdd8dd03bb6b14836b6e5af7b" args="(const plane3d&lt; T &gt; &amp;o1, const plane3d&lt; T &gt; &amp;o2, vector3d&lt; T &gt; &amp;outPoint) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getIntersectionWithPlanes </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>o1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>o2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>outPoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the intersection point with two other planes if there is one. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00195">195</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="_s_view_frustum_8h_source.html#l00168">irr::scene::SViewFrustum::getFarLeftDown()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00158">irr::scene::SViewFrustum::getFarLeftUp()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00188">irr::scene::SViewFrustum::getFarRightDown()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00178">irr::scene::SViewFrustum::getFarRightUp()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00208">irr::scene::SViewFrustum::getNearLeftDown()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00198">irr::scene::SViewFrustum::getNearLeftUp()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00228">irr::scene::SViewFrustum::getNearRightDown()</a>, and <a class="el" href="_s_view_frustum_8h_source.html#l00218">irr::scene::SViewFrustum::getNearRightUp()</a>.</p>

</div>
</div>
<a class="anchor" id="a572803fab72c142ad186b364da3193cb"></a><!-- doxytag: member="irr::core::plane3d::getKnownIntersectionWithLine" ref="a572803fab72c142ad186b364da3193cb" args="(const vector3d&lt; T &gt; &amp;linePoint1, const vector3d&lt; T &gt; &amp;linePoint2) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getKnownIntersectionWithLine </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>linePoint2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get percentage of line between two points where an intersection with this plane happens. </p>
<p>Only useful if known that there is an intersection. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">linePoint1</td><td>Point1 of the line to intersect with. </td></tr>
    <tr><td class="paramname">linePoint2</td><td>Point2 of the line to intersect with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Where on a line between two points an intersection with this plane happened. For example, 0.5 is returned if the intersection happened exactly in the middle of the two points. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00107">107</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="_s_view_frustum_8h_source.html#l00344">irr::scene::SViewFrustum::clipLine()</a>.</p>

</div>
</div>
<a class="anchor" id="ae95084f1f1d942d2416aeaef247882fd"></a><!-- doxytag: member="irr::core::plane3d::getMemberPoint" ref="ae95084f1f1d942d2416aeaef247882fd" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::getMemberPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a member point of the plane. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00155">155</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01179">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="a5b769b842600d377415d594f0db09a3e"></a><!-- doxytag: member="irr::core::plane3d::isFrontFacing" ref="a5b769b842600d377415d594f0db09a3e" args="(const vector3d&lt; T &gt; &amp;lookDirection) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::isFrontFacing </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>lookDirection</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Test if the triangle would be front or backfacing from any point. </p>
<p>Thus, this method assumes a camera position from which the triangle is definitely visible when looking into the given direction. Note that this only works if the normal is Normalized. Do not use this method with points as it will give wrong results! </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lookDirection,:</td><td>Look direction. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>True if the plane is front facing and false if it is backfacing. </dd></dl>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00214">214</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1ef3ad54e652a02f3ea8c97884332f06"></a><!-- doxytag: member="irr::core::plane3d::operator!=" ref="a1ef3ad54e652a02f3ea8c97884332f06" args="(const plane3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00054">54</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ea013907b2e44c91cc9defacb7a8d53"></a><!-- doxytag: member="irr::core::plane3d::operator==" ref="a4ea013907b2e44c91cc9defacb7a8d53" args="(const plane3d&lt; T &gt; &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00052">52</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a65c1748d516ddc820b6b970f9367f1ff"></a><!-- doxytag: member="irr::core::plane3d::recalculateD" ref="a65c1748d516ddc820b6b970f9367f1ff" args="(const vector3d&lt; T &gt; &amp;MPoint)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::recalculateD </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>MPoint</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Recalculates the distance from origin by applying a new member point to the plane. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00149">149</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="plane3d_8h_source.html#l00039">irr::core::plane3d&lt; f32 &gt;::plane3d()</a>, and <a class="el" href="plane3d_8h_source.html#l00058">irr::core::plane3d&lt; f32 &gt;::setPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="a74c75911a10cc048c546ca5ea3646232"></a><!-- doxytag: member="irr::core::plane3d::setPlane" ref="a74c75911a10cc048c546ca5ea3646232" args="(const vector3d&lt; T &gt; &amp;point, const vector3d&lt; T &gt; &amp;nvector)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::setPlane </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>nvector</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00058">58</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="plane3d_8h_source.html#l00045">irr::core::plane3d&lt; f32 &gt;::plane3d()</a>, and <a class="el" href="matrix4_8h_source.html#l01179">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="a1f68018de37d6bc904c33192816b899b"></a><!-- doxytag: member="irr::core::plane3d::setPlane" ref="a1f68018de37d6bc904c33192816b899b" args="(const vector3d&lt; T &gt; &amp;nvect, T d)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::setPlane </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>nvect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">T&#160;</td>
          <td class="paramname"><em>d</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00064">64</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a32ca1fd89b65630b4d77641005ffa94d"></a><!-- doxytag: member="irr::core::plane3d::setPlane" ref="a32ca1fd89b65630b4d77641005ffa94d" args="(const vector3d&lt; T &gt; &amp;point1, const vector3d&lt; T &gt; &amp;point2, const vector3d&lt; T &gt; &amp;point3)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::setPlane </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt; T &gt; &amp;&#160;</td>
          <td class="paramname"><em>point3</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00070">70</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="afa304cf77cf1a3aae2351d5add5606a8"></a><!-- doxytag: member="irr::core::plane3d::D" ref="afa304cf77cf1a3aae2351d5add5606a8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html#afa304cf77cf1a3aae2351d5add5606a8">D</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Distance from origin. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00231">231</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01745">irr::core::CMatrix4&lt; T &gt;::buildShadowMatrix()</a>, <a class="el" href="aabbox3d_8h_source.html#l00284">irr::core::aabbox3d&lt; f32 &gt;::classifyPlaneRelation()</a>, <a class="el" href="plane3d_8h_source.html#l00135">irr::core::plane3d&lt; f32 &gt;::classifyPointRelation()</a>, <a class="el" href="plane3d_8h_source.html#l00222">irr::core::plane3d&lt; f32 &gt;::getDistanceTo()</a>, <a class="el" href="plane3d_8h_source.html#l00086">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithLine()</a>, <a class="el" href="plane3d_8h_source.html#l00173">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithPlane()</a>, <a class="el" href="plane3d_8h_source.html#l00107">irr::core::plane3d&lt; f32 &gt;::getKnownIntersectionWithLine()</a>, <a class="el" href="plane3d_8h_source.html#l00155">irr::core::plane3d&lt; f32 &gt;::getMemberPoint()</a>, <a class="el" href="plane3d_8h_source.html#l00052">irr::core::plane3d&lt; f32 &gt;::operator==()</a>, <a class="el" href="plane3d_8h_source.html#l00149">irr::core::plane3d&lt; f32 &gt;::recalculateD()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00255">irr::scene::SViewFrustum::setFrom()</a>, and <a class="el" href="plane3d_8h_source.html#l00064">irr::core::plane3d&lt; f32 &gt;::setPlane()</a>.</p>

</div>
</div>
<a class="anchor" id="a932ca6e90e55cdceedb4f15ab706b719"></a><!-- doxytag: member="irr::core::plane3d::Normal" ref="a932ca6e90e55cdceedb4f15ab706b719" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classirr_1_1core_1_1vector3d.html">vector3d</a>&lt;T&gt; <a class="el" href="classirr_1_1core_1_1plane3d.html">irr::core::plane3d</a>&lt; T &gt;::<a class="el" href="classirr_1_1core_1_1plane3d.html#a932ca6e90e55cdceedb4f15ab706b719">Normal</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Normal vector of the plane. </p>

<p>Definition at line <a class="el" href="plane3d_8h_source.html#l00228">228</a> of file <a class="el" href="plane3d_8h_source.html">plane3d.h</a>.</p>

<p>Referenced by <a class="el" href="matrix4_8h_source.html#l01745">irr::core::CMatrix4&lt; T &gt;::buildShadowMatrix()</a>, <a class="el" href="aabbox3d_8h_source.html#l00284">irr::core::aabbox3d&lt; f32 &gt;::classifyPlaneRelation()</a>, <a class="el" href="plane3d_8h_source.html#l00135">irr::core::plane3d&lt; f32 &gt;::classifyPointRelation()</a>, <a class="el" href="plane3d_8h_source.html#l00162">irr::core::plane3d&lt; f32 &gt;::existsIntersection()</a>, <a class="el" href="plane3d_8h_source.html#l00222">irr::core::plane3d&lt; f32 &gt;::getDistanceTo()</a>, <a class="el" href="plane3d_8h_source.html#l00086">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithLine()</a>, <a class="el" href="plane3d_8h_source.html#l00173">irr::core::plane3d&lt; f32 &gt;::getIntersectionWithPlane()</a>, <a class="el" href="plane3d_8h_source.html#l00107">irr::core::plane3d&lt; f32 &gt;::getKnownIntersectionWithLine()</a>, <a class="el" href="plane3d_8h_source.html#l00155">irr::core::plane3d&lt; f32 &gt;::getMemberPoint()</a>, <a class="el" href="plane3d_8h_source.html#l00214">irr::core::plane3d&lt; f32 &gt;::isFrontFacing()</a>, <a class="el" href="plane3d_8h_source.html#l00052">irr::core::plane3d&lt; f32 &gt;::operator==()</a>, <a class="el" href="plane3d_8h_source.html#l00149">irr::core::plane3d&lt; f32 &gt;::recalculateD()</a>, <a class="el" href="_s_view_frustum_8h_source.html#l00255">irr::scene::SViewFrustum::setFrom()</a>, <a class="el" href="plane3d_8h_source.html#l00058">irr::core::plane3d&lt; f32 &gt;::setPlane()</a>, and <a class="el" href="matrix4_8h_source.html#l01179">irr::core::CMatrix4&lt; T &gt;::transformPlane()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="plane3d_8h_source.html">plane3d.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1core.html">core</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1core_1_1plane3d.html">plane3d</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sat Jul 9 2016 18:18:32 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
